cssimageradial: Only emit one error for wrong position
authorBenjamin Otte <otte@redhat.com>
Fri, 5 Feb 2016 17:30:28 +0000 (18:30 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 5 Feb 2016 18:31:47 +0000 (19:31 +0100)
Test included.

gtk/gtkcssimageradial.c
testsuite/css/parser/Makefile.am
testsuite/css/parser/radial-background-position-error.css [new file with mode: 0644]
testsuite/css/parser/radial-background-position-error.errors [new file with mode: 0644]
testsuite/css/parser/radial-background-position-error.ref.css [new file with mode: 0644]

index f8024d78eae4263a0e32c1e8298b049fb53a2e4d..3a3b343f8e6d44d06e8203b33b037155f9b153ba 100644 (file)
@@ -273,10 +273,7 @@ gtk_css_image_radial_parse (GtkCssImage  *image,
       {
         radial->position = _gtk_css_position_value_parse (parser);
         if (!radial->position)
-          {
-            _gtk_css_parser_error (parser, "Expected a position after 'at'");
-            return FALSE;
-          }
+          return FALSE;
         found_one = has_position = TRUE;
       }
     else if (!has_size)
index 4479dddac0683bac799db2e22b663f4e6d8548a1..6c5a6d9cf386b09d196649b790968ee7e950d92a 100644 (file)
@@ -407,6 +407,9 @@ test_data = \
        pseudo-classes-unknown.ref.css \
         radial.css \
         radial.ref.css \
+       radial-background-position-error.css \
+       radial-background-position-error.errors \
+       radial-background-position-error.ref.css \
        selector.css \
        selector.ref.css \
        shadow.css \
diff --git a/testsuite/css/parser/radial-background-position-error.css b/testsuite/css/parser/radial-background-position-error.css
new file mode 100644 (file)
index 0000000..6f65469
--- /dev/null
@@ -0,0 +1,3 @@
+a {
+  background: radial-gradient(at your mom);
+}
diff --git a/testsuite/css/parser/radial-background-position-error.errors b/testsuite/css/parser/radial-background-position-error.errors
new file mode 100644 (file)
index 0000000..252ab5a
--- /dev/null
@@ -0,0 +1 @@
+radial-background-position-error.css:2: error: GTK_CSS_PROVIDER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/radial-background-position-error.ref.css b/testsuite/css/parser/radial-background-position-error.ref.css
new file mode 100644 (file)
index 0000000..e69de29